package com.bajie.bjlisten.api;

import com.alibaba.fastjson.JSONObject;
import com.bajie.bjlisten.entity.BjClassifyDto;
import com.bajie.bjlisten.entity.BjUser;
import com.bajie.bjlisten.entity.BjuserDto;
import com.bajie.bjlisten.entity.response.BjUserListResult;
import com.bajie.bjlisten.entity.response.BjUserResult;
import com.bajie.bjlisten.entity.response.ResponseResult;
import com.bajie.bjlisten.page.table.PageTableRequest;
import com.bajie.bjlisten.page.table.PageTableResponse;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.List;
import java.util.Map;

@Api(value = "用户", description = "后台用户相关接口")
public interface UserCmsControllerApi {
  /*  @ApiOperation("根据手机查询用户")
    public BjUser findByUserMobile(Long phone);

    @ApiOperation("根据用户ID查询用户")
    public BjUser findByUserId(String userId);

    @ApiOperation("根据注册的时间段内查询查询用户")
    public BjUserListResult findByRegisterTime(String beginRegister, String endRegister);

    @ApiOperation("查询所有用户")
    public BjUserListResult findAll();

    @ApiOperation("根据用户名查询用户")
    public BjUser findByUserName(String userName);

    @ApiOperation("根据查询条件查询用户")
    public List<BjUser> findByCond(Map<String, String> cond);

    @ApiOperation("添加用户")
    public BjUserListResult saveUserData(BjUser bjUser);

    @ApiOperation("保存用户，使用这个接口")
    public BjUser saveUser(BjuserDto userDto);

    @ApiOperation("修改用户")
    public BjUser updateUser(BjuserDto userDto);

    @ApiOperation("修改头像")
    public void updateHeadImgUrl(String headImgUrl);


    @ApiOperation("修改密码")
    public void changePassword(String username, String oldPassword, String newPassword);

    @ApiOperation("根据分页参数查询用户列表")
    public PageTableResponse listUsers(PageTableRequest request);

    @ApiOperation("当前登录用户")
    public BjUser currentUser();

    @ApiOperation("根据用户id获取用户")
    public BjUser user(String id);*/

    @ApiOperation("插入带入的emei/邀请码/唯一值，然后返回用户信息")
    public BjUserResult getBjUserByImei(Map<String, String> mapvalue);

    @ApiOperation("根据imei更新用户信息")
    public BjUserResult updateByImei(Map<String, String> mapvalue);

    @ApiOperation("添加兴趣分类")
    public Boolean addInterestClassifys(@RequestBody BjClassifyDto bjClassifyDto);

    @ApiOperation("获取用户验证码")
    public ResponseResult getCode(String phoneNumber,String userId);

    @ApiOperation("用户登录")
    public ResponseResult userLoginByPhone(String userId,String phoneNumber, String yzCode);

    @ApiOperation("根据用户查询被邀请的人")
    public BjUserResult findAllByUserIds(String userId, Integer offset,Integer limit);

    @ApiOperation("今日收入=邀请获取的金币+签到得到的金币")
    public JSONObject findSumCoinByUserId(String userId);


}
